def blend_colors(color1, color2):
    r1, g1, b1, a1 = color1
    r2, g2, b2, a2 = color2

    # 将 alpha 值从 0-255 转换为 0-1 范围
    a1 /= 255
    a2 /= 255

    # 计算最终透明度
    final_alpha = a1 + a2 * (1 - a1)

    # 防止 final_alpha 为 0，避免除以 0
    if final_alpha == 0:
        return (0, 0, 0, 0)  # 如果两个颜色都完全透明，则结果为透明黑色

    # 计算最终颜色的 RGB 值
    final_r = (r1 * a1 + r2 * a2 * (1 - a1)) / final_alpha
    final_g = (g1 * a1 + g2 * a2 * (1 - a1)) / final_alpha
    final_b = (b1 * a1 + b2 * a2 * (1 - a1)) / final_alpha

    # 将 RGB 和 alpha 转换回 0-255 范围
    return (int(final_r), int(final_g), int(final_b), int(final_alpha * 255))

# 颜色一和颜色二
color1 = (88, 88, 88, 255)        # RGBA
color2 = (135, 206, 235, 178)     # RGBA

# 计算融合后的颜色
result_color = blend_colors(color1, color2)
print(f"融合后的颜色: {result_color}")